package com.woniu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.woniu.entity.dto.CollectDTO;
import com.woniu.entity.vo.CollectVO;
import com.woniu.pojo.Collect;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author xiaosong
 * @since 2023-04-01
 */
public interface CollectMapper extends BaseMapper<Collect> {

    /*分页查询 名称搜索*/
    IPage<CollectVO> searchPage(IPage<CollectVO> page, @Param("collectDTO") CollectDTO collectDTO);

    /*新增收藏*/
    @Insert("insert into wnsys_collect(user_id,training_id,create_time,update_time) values (#{collect.userId},#{collect.trainingId},#{collect.createTime},#{collect.updateTime})")
    Boolean increase(@Param("collect") Collect collect);

    /*删除收藏*/
    @Delete("delete from wnsys_collect where id = #{id}")
    Boolean decrease(Integer id);

    /*批量删除收藏*/
    Boolean deletePart(List<Integer> ids);

    /*修改收藏*/
    Boolean revise(@Param("collect")Collect collect);

    /*平台端查询所有（前端页面渲染） 平台端模糊查询*/
    @Select("select * from wnsys_collect where id = #{id}")
    Collect searchById(Integer id);
    /*用户端根据userId查询该用户收藏的所有靶场*/

    IPage<CollectVO> searchCollect(IPage<CollectVO> page,@Param("collectDTO") CollectDTO collectDTO);

    IPage<CollectVO> searchHistory(IPage<CollectVO> page,@Param("collectDTO") CollectDTO collectDTO);


}
